<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //Promise封装延迟输出函数
        function delay(duration,n)
        {
            return new Promise((resolve)=>{
                setTimeout((n)=>{
                    resolve(n)
                },duration)
            })
        }

        async function log(){
            //1.在Promise实例前添加await关键字，这样await的返回值就是Promise的resolve的参数
            //2.await所在的函数必须被async修饰
            //3.await所在的函数会按照同步的方式进行代码的执行，也就是前面的await执行完毕，才会执行后续的await
            const n1=await delay(2000,1)
            console.log(n1)

            const n2=await delay(1000,2)
            console.log(n2)

            const n3=await delay(1000,3)
            console.log(n3)
        }

        log()
    </script>
</body>
</html>